perm filename PREMAK.SAI[SYS,HE] blob sn#004142 filedate 1972-05-30 generic text, type T, neo UTF8
BEGIN "PREMAK"

INTEGER EOF, BRK;
STRING STR;
DEFINE CR="'15", LF="'12", CRLF="(CR&LF)", PRNT="1", DEL="2", SEMI="3", SEMILPAR="5", RPAR="6";

	SETBREAK(PRNT,"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",NULL,"IRN");
	SETBREAK(DEL,CRLF&'11&'14&"; ",NULL,"IRN");
	SETBREAK(SEMI,";",NULL,"IAN");
	SETBREAK(SEMILPAR,";(",NULL,"IAN");
	SETBREAK(RPAR,")",NULL,"IAN");
	OPEN(1,"DSK",0,4,0,1000,BRK,EOF←0);
	OPEN(2,"DSK",0,0,4,1000,BRK,EOF←0);
	OPEN(3,"DSK",0,0,4,1000,BRK,EOF←0);
	LOOKUP(1,"PREAMB.TXT",BRK);
	IF BRK THEN USERERR(0,0,"LOOKUP FAILED FOR PREAMB.TXT");
	ENTER(2,"PREAMB.SAI",BRK);
	IF BRK THEN USERERR(0,0,"ENTER FAILED FOR PREAMB.SAI");
	SETBREAK(4,NULL,NULL,"D");
	WHILE TRUE DO
		BEGIN
		STR ← INPUT(1,PRNT);
		IF EOF THEN BEGIN RELEASE(1); RELEASE(2); DONE; END;
		IF BRK THEN
			BEGIN
			STR ← INPUT(1,DEL);
			IF LENGTH(STR)=7∧(EQU(STR,"COMMENT")∨EQU(STR,"Comment")∨EQU(STR,"comment")) THEN
				DO INPUT(1,SEMI) UNTIL BRK ELSE
				BEGIN
				DO STR←STR&INPUT(1,SEMILPAR) UNTIL BRK;
				IF BRK="(" THEN
					BEGIN
					DO STR←STR&INPUT(1,RPAR) UNTIL BRK;
					DO STR←STR&INPUT(1,SEMI) UNTIL BRK;
					END;
				OUT(2,STR&CRLF);
				END;
			END;
		END;
	END;